package com.cloudlead.commonData.query;

import static com.mysema.query.types.PathMetadataFactory.*;
import com.cloudlead.commonData.entity.EBaseVoyage;


import com.mysema.query.types.path.*;

import com.mysema.query.types.PathMetadata;
import javax.annotation.Generated;
import com.mysema.query.types.Path;

import com.mysema.query.sql.ColumnMetadata;
import java.sql.Types;

import com.mysema.query.sql.*;

import com.cloudlead.common.lang.annotation.Label;


/**
 * QBaseVoyage is a Querydsl query type for EBaseVoyage
 */
@Label("航次表查询")
@Generated("com.cloudlead.utils.persistence.codegen.serializer.SimpleMetaDataSerializer")
public class QBaseVoyage extends RelationalPathBase<EBaseVoyage> {

    private static final long serialVersionUID = -873839687;

    public static final QBaseVoyage baseVoyage = new QBaseVoyage("base_voyage");

    public class PrimaryKeys {

        public final PrimaryKey<EBaseVoyage> primary = createPrimaryKey(id);

    }

    public class ForeignKeys {

        public final ForeignKey<com.cloudlead.commonData.entity.EBaseShip> baseVoyageBaseShip1Fk = createForeignKey(baseShipId, "id");

        public final ForeignKey<com.cloudlead.commonData.entity.EBaseCompany> baseVoyageBaseCompany1Fk = createForeignKey(baseCompanyId, "id");

        public final ForeignKey<com.cloudlead.commonData.entity.EBaseShipRoute> baseShipRouteFk = createForeignKey(baseShipRoute, "id");

        public final ForeignKey<com.cloudlead.commonData.entity.ETbCustomerOrder> _baseVoyage = createInvForeignKey(id, "baseVoyage");

        public final ForeignKey<com.cloudlead.commonData.entity.ETbFleetOrder> _tbBaseVoyageFk = createInvForeignKey(id, "baseVoyage");

    }

    public final DateTimePath<org.joda.time.DateTime> arriveExpectedTime = createDateTime("arriveExpectedTime", org.joda.time.DateTime.class);

    public final DateTimePath<org.joda.time.DateTime> arriveTime = createDateTime("arriveTime", org.joda.time.DateTime.class);

    public final StringPath baseCompanyId = createString("baseCompanyId");

    public final StringPath baseShipId = createString("baseShipId");

    public final StringPath baseShipRoute = createString("baseShipRoute");

    public final StringPath flag = createString("flag");

    public final StringPath id = createString("id");

    public final DateTimePath<org.joda.time.DateTime> startExpectedTime = createDateTime("startExpectedTime", org.joda.time.DateTime.class);

    public final DateTimePath<org.joda.time.DateTime> startTime = createDateTime("startTime", org.joda.time.DateTime.class);

    public final StringPath state = createString("state");

    public final StringPath vessel = createString("vessel");

    public final StringPath voyage = createString("voyage");

    public final PrimaryKeys pk = new PrimaryKeys();

    public final ForeignKeys fk = new ForeignKeys();

    public QBaseVoyage(String variable) {
        super(EBaseVoyage.class, forVariable(variable), "null", "base_voyage");
        addMetadata();
    }

    public QBaseVoyage(String variable, String schema, String table) {
        super(EBaseVoyage.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QBaseVoyage(Path<? extends EBaseVoyage> path) {
        super(path.getType(), path.getMetadata(), "null", "base_voyage");
        addMetadata();
    }

    public QBaseVoyage(PathMetadata<?> metadata) {
        super(EBaseVoyage.class, metadata, "null", "base_voyage");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(arriveExpectedTime, ColumnMetadata.named("arriveExpectedTime").withIndex(4).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(arriveTime, ColumnMetadata.named("arriveTime").withIndex(5).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(baseCompanyId, ColumnMetadata.named("base_company_id").withIndex(8).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(baseShipId, ColumnMetadata.named("base_ship_id").withIndex(7).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(baseShipRoute, ColumnMetadata.named("baseShipRoute").withIndex(12).ofType(Types.CHAR).withSize(24));
        addMetadata(flag, ColumnMetadata.named("flag").withIndex(9).ofType(Types.VARCHAR).withSize(8));
        addMetadata(id, ColumnMetadata.named("id").withIndex(1).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(startExpectedTime, ColumnMetadata.named("startExpectedTime").withIndex(2).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(startTime, ColumnMetadata.named("startTime").withIndex(3).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(state, ColumnMetadata.named("state").withIndex(6).ofType(Types.VARCHAR).withSize(45));
        addMetadata(vessel, ColumnMetadata.named("vessel").withIndex(11).ofType(Types.VARCHAR).withSize(255));
        addMetadata(voyage, ColumnMetadata.named("voyage").withIndex(10).ofType(Types.VARCHAR).withSize(45));
    }

}

